package SecondeStage.FanXing;

import java.util.ArrayList;
import java.util.List;

public class GenericJiCheng {
    public static void main(String[] args) {
        // 泛型没有继承性
        //List<Object> list =new ArrayList<>(String); // 错


        
    }

    // List<?> 表示任意的泛型类型都可以接收
    public static  void printCollection1(List<?> c){
        for (Object object :c) {
            System.out.println(object);
        }

    }

    //List<? extends AA> 表示上限,可以接收 AA或者AA的子类
    public static  void printCollection2(List<? extends AA> c){
        for (Object object :c) {
            System.out.println(object);
        }

    }

    //List<? super AA> 表示可以接收 AA或者AA的父类，不限于直接父类
    public static  void printCollection3(List<? super AA> c){
        for (Object object :c) {
            System.out.println(object);
        }

    }


}

class AA{

}

class BB extends AA{

}

class CC extends BB{

}